﻿namespace TestTool.GUI.Views
{
    using System;
    using System.Collections.Generic;
    using TestTool.Proxies.Onvif;
    using TestTool.Tests.Definitions.Interfaces;
    using TestTool.Tests.Definitions.UI;

    internal interface ITestSettingsView : IView
    {
        void AddSettingsPages(List<SettingsTabPage> pages);
        void SetEventsTopic(List<EventsTopicInfo> topics);
        void SetPTZNodes(PTZNode[] nodes);
        void SetRecordings(IEnumerable<string> recordings);
        void SetVideoSources(VideoSource[] sources);
        void ShowMissingSettings(string name);

        List<object> AdvancedSettings { get; set; }

        string DnsIpv4 { get; set; }

        string DnsIpv6 { get; set; }

        string EventTopic { get; set; }

        string GatewayIpv4 { get; set; }

        string GatewayIpv6 { get; set; }

        int MessageTimeout { get; set; }

        string MetadataFilter { get; set; }

        string NtpIpv4 { get; set; }

        string NtpIpv6 { get; set; }

        int OperationDelay { get; set; }

        string Password1 { get; set; }

        string Password2 { get; set; }

        string PTZNodeToken { get; set; }

        int RebootTimeout { get; set; }

        string RecordingToken { get; set; }

        int RecoveryDelay { get; set; }

        int RelayOutputDelayTimeMonostable { get; set; }

        string RetentionTime { get; set; }

        int SearchTimeout { get; set; }

        string SecureMethod { get; set; }

        int SubscriptionTimeout { get; set; }

        int TimeBetweenTests { get; set; }

        string TopicNamespaces { get; set; }

        bool UseEmbeddedPassword { get; set; }

        string VideoSourceToken { get; set; }
    }
}

